package com.xbongbong.admin.pojo;

import com.xbongbong.admin.domain.entity.MirrorStageEntity;
import com.xbongbong.admin.domain.entity.MirrorStageProcessEntity;
import com.xbongbong.admin.domain.entity.MirrorStageWorkEntity;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author 李翔
 * @date 2022/8/11
 * @description
 */
@Getter
@Setter
@ToString
public class StageInstallPojo implements Serializable {

    private static final long serialVersionUID = -2318421349473531787L;

    private String corpid;

    /**
     * 镜像表单Id 到新表单（安装的表）Id的映射
     */
    private Map<Long, Long> mirrorFormId2NowMap;

    /**
     * 镜像阶段流程表Id 到新阶段流程表Id的映射
     */
    private Map<Long,Long> mirrorStageProcessId2NowMap;

    /**
     * 镜像阶段表Id 到新阶段表Id的映射
     */
    private Map<Long,Long> mirrorStageId2NowMap;

    /**
     * 镜像数据 - 镜像阶段流程表中的数据
     */
    private List<MirrorStageProcessEntity> mirrorStageProcessEntityList;

    /**
     * 镜像数据 - 镜像阶段表中的数据
     */
    private List<MirrorStageEntity> mirrorStageEntityList;

    /**
     * 镜像数据 - 镜像阶段任务表中的数据
     */
    private List<MirrorStageWorkEntity> mirrorStageWorkEntityList;


    public StageInstallPojo(String corpid, Map<Long, Long> mirrorFormId2NowMap,List<MirrorStageProcessEntity> mirrorStageProcessEntityList,List<MirrorStageEntity> mirrorStageEntityList,List<MirrorStageWorkEntity> mirrorStageWorkEntityList) {
        this.corpid = corpid;
        this.mirrorFormId2NowMap = mirrorFormId2NowMap;
        this.mirrorStageProcessId2NowMap = new HashMap<>();
        this.mirrorStageId2NowMap = new HashMap<>();

        this.mirrorStageProcessEntityList = mirrorStageProcessEntityList;
        this.mirrorStageEntityList = mirrorStageEntityList;
        this.mirrorStageWorkEntityList = mirrorStageWorkEntityList;
    }

}
